library(foreign)
library(polycor)
library(ggplot2)
library(texreg)
library(mgcv)
library(dplyr)
library(car)

#Clean up
rm(list=ls())

#Cornbachs Alpha
alfa = function(X) {
  if(length(unique(X[,1]))==2) {
    k <- dim(X)[2]
    p <- apply(X, 2, mean)
    q <- 1 - p
    sum_pq <- sum(p*q)
    varX <- var(apply(X, 1, sum))
    return(k/(k-1) * (1 - sum_pq/varX))
  }
  else {
    X = na.omit(X)
    X_temp = apply(X,1,sum,na.rm=T)
    N = dim(X)[2]
    return( N/(N-1) * (1 - sum(apply(X,2,var,na.rm=T))/ 
                         var(X_temp,na.rm=T)))
  }
}
#Set location
setwd("C:/Users/Matias/Dropbox/Proyectos/Corruption and Political Knoweldge/Replication File/")

ola1 = read.spss("Wave 1 Panel Survey.sav",
                 to.data.frame = TRUE, reencode="UTF-8")

ola2 = read.spss("Wave 2 Panel Survey.sav",
                 to.data.frame = TRUE, reencode="UTF-8")
dim(ola1)
dim(ola2)

#----------------------- MERGE DATASETS ------------------------#
ola = merge(ola1, ola2, by="FOLIO", all=TRUE)
dim(ola)
names(ola)

#Attrition Indicator
ola$attrition = as.numeric(is.na(ola$SEXO_PS.y))
table(ola$attrition)

#Escala Izq-Der
table(ola$P17.x, exclude=NULL)
table(ola$P17.y, exclude=NULL)
ola$lrscale_o1 = as.numeric(ola$P17.x) - 1 
ola$lrscale_o1[ola$lrscale_o1>=11] = NA

ola$lrscale_o2 = as.numeric(ola$P17.y) - 1
ola$lrscale_o2[ola$lrscale_o2>=11] = NA
cor(ola$lrscale_o1, ola$lrscale_o2, use="complete.obs")

#Ideo
ola$ideo_o1 = as.numeric(!is.na(ola$lrscale_o1))
ola$ideo_o2 = as.numeric(!is.na(ola$lrscale_o2))
ola$ideo_o2[ola$attrition==1] = NA
prop.table(table(ola$ideo_o1, ola$ideo_o2),1)
polychor(ola$ideo_o1, ola$ideo_o2)

#Categorical Left-Right
ola$lrscaleR_o1 = as.numeric(ola$lrscale_o1<=4)
ola$lrscaleR_o1[ola$lrscale_o1==5] = 2
ola$lrscaleR_o1[ola$lrscale_o1>=6] = 3
ola$lrscaleR_o1[ola$ideo_o1==0] = 4
ola$lrscaleR_o1 = factor(ola$lrscaleR_o1, labels=c("Left", "Center", "Right", "None"))
table(ola$lrscale_o1, ola$lrscaleR_o1, exclude=NULL)

##Una dummy por grupo ideológico
izqder <- data.frame(model.matrix(~0 + lrscaleR_o1, data=ola))
names(izqder) <- levels(ola$lrscaleR_o1)
ola <- cbind(ola, izqder)

ola$lrscaleR_o2 = as.numeric(ola$lrscale_o2<=4)
ola$lrscaleR_o2[ola$lrscale_o2==5] = 2
ola$lrscaleR_o2[ola$lrscale_o2>=6] = 3
ola$lrscaleR_o2[is.na(ola$lrscale_o2)] = 4
ola$lrscaleR_o2[ola$attrition==1] <- NA
ola$lrscaleR_o2 = factor(ola$lrscaleR_o2, labels=c("Left", "Center", "Right", "None"))
table(ola$lrscale_o2, ola$lrscaleR_o2, exclude=NULL)

#Interes en politica
ola$polint_o1 = as.numeric(ola$P11.x)
ola$polint_o2 = as.numeric(ola$P11.y)
ola$polint_o2[ola$polint_o2==6] = NA
ola$delta_polint = ola$polint_o2 - ola$polint_o1
table(ola$polint_o1,ola$polint_o2, exclude = NULL)
cor(ola$polint_o1,ola$polint_o2, use="complete.obs")
polychor(ola$polint_o1,ola$polint_o2)
#More positive or negative change
prop.table(table(ola$polint_o1, ola$polint_o2),1)
table(ola$polint_o1<=ola$polint_o2, exclude = NULL)

#Confianza Institucional
#Ola 1
ola$trAfp_o1 = as.numeric(ola$P35_1)
ola$trAfp_o1[ola$trAfp_o1==6] = NA
ola$trGob_o1 = as.numeric(ola$P35_2)
ola$trGob_o1[ola$trGob_o1==6] = NA
ola$trPartidos_o1 = as.numeric(ola$P35_3)
ola$trPartidos_o1[ola$trPartidos_o1==6] = NA
ola$trParlamen_o1 = as.numeric(ola$P35_4)
ola$trParlamen_o1[ola$trParlamen_o1==6] = NA
ola$trJueces_o1 = as.numeric(ola$P35_5)
ola$trJueces_o1[ola$trJueces_o1==6] = NA
ola$trTv_o1 = as.numeric(ola$P35_6)
ola$trTv_o1[ola$trTv_o1==6] = NA
ola$trRadio_o1 = as.numeric(ola$P35_7)
ola$trRadio_o1[ola$trRadio_o1==6] = NA
ola$trDiario_o1 = as.numeric(ola$P35_8)
ola$trDiario_o1[ola$trDiario_o1==6] = NA
ola$trCarabi_o1 = as.numeric(ola$P37_2.x)
ola$trCarabi_o1[ola$trCarabi_o1==6] = NA
ola$trFiscal_o1 <- as.numeric(ola$P37_1.x)
ola$trPdi_o1 <- as.numeric(ola$P37_3)
ola$trSii_o1 <- as.numeric(ola$P37_4)

#Ola 2
ola$trAfp_o2 = as.numeric(ola$P22_1)
ola$trAfp_o2[ola$trAfp_o2==6] = NA
ola$trGob_o2 = as.numeric(ola$P22_2)
ola$trGob_o2[ola$trGob_o2==6] = NA
ola$trPartidos_o2 = as.numeric(ola$P22_3)
ola$trPartidos_o2[ola$trPartidos_o2==6] = NA
ola$trParlamen_o2 = as.numeric(ola$P22_4)
ola$trParlamen_o2[ola$trParlamen_o2==6] = NA
ola$trJueces_o2 = as.numeric(ola$P22_5)
ola$trJueces_o2[ola$trJueces_o2==6] = NA
ola$trTv_o2 = as.numeric(ola$P22_6)
ola$trTv_o2[ola$trTv_o2==6] = NA
ola$trRadio_o2 = as.numeric(ola$P22_7)
ola$trRadio_o2[ola$trRadio_o2==6] = NA
ola$trDiario_o2 = as.numeric(ola$P22_8)
ola$trDiario_o2[ola$trDiario_o2==6] = NA
ola$trCarabi_o2 = as.numeric(ola$P19_2.y)
ola$trCarabi_o2[ola$trCarabi_o2==6] = NA
ola$trFiscal_o2 <- as.numeric(ola$P19_1.y)
ola$trPdi_o2 <- as.numeric(ola$P19_3.y)
ola$trSii_o2 <- as.numeric(ola$P19_4.y)

with(ola, polychor(trAfp_o1,trAfp_o2))
with(ola, polychor(trGob_o1,trGob_o2))
with(ola, polychor(trPartidos_o1,trPartidos_o2))
with(ola, polychor(trParlamen_o1,trParlamen_o2))
with(ola, polychor(trJueces_o1,trJueces_o2))
with(ola, polychor(trTv_o1,trTv_o2))
with(ola, polychor(trRadio_o1,trRadio_o2))
with(ola, polychor(trDiario_o1,trDiario_o2))
with(ola, polychor(trCarabi_o1,trCarabi_o2))

with(subset(ola, attrition==0), t.test(trAfp_o1, trAfp_o2))
with(subset(ola, attrition==0), t.test(trGob_o1,trGob_o2))
with(subset(ola, attrition==0), t.test(trPartidos_o1,trPartidos_o2))
with(subset(ola, attrition==0), t.test(trParlamen_o1,trParlamen_o2))
with(subset(ola, attrition==0), t.test(trJueces_o1,trJueces_o2))
with(subset(ola, attrition==0), t.test(trTv_o1,trTv_o2))
with(subset(ola, attrition==0), t.test(trRadio_o1,trRadio_o2))
with(subset(ola, attrition==0), t.test(trDiario_o1,trDiario_o2))
with(subset(ola, attrition==0), t.test(trCarabi_o1,trCarabi_o2))

#Trust Delta
ola$delta_trAfp = ola$trAfp_o2 - ola$trAfp_o1
ola$delta_trGob = ola$trGob_o2 - ola$trGob_o1
ola$delta_trPartidos = ola$trPartidos_o2 - ola$trPartidos_o1
ola$delta_trParlamen = ola$trParlamen_o2 - ola$trParlamen_o1
ola$delta_trJueces = ola$trJueces_o2 - ola$trJueces_o1
ola$delta_trTv = ola$trTv_o2 - ola$trTv_o1
ola$delta_trRadio = ola$trRadio_o2 - ola$trRadio_o1
ola$delta_trDiario = ola$trDiario_o2 - ola$trDiario_o1
ola$delta_trCarabi = ola$trCarabi_o2 - ola$trCarabi_o1

#~Confianza Social - Solo disponible en ola 1
ola$confsocA_o1 <- car::recode(as.numeric(ola$P36_1), "2=-1; 3/4=0")
ola$confsocB_o1 <- car::recode(as.numeric(ola$P36_2), "2=-1; 3/4=0")
ola$confsocC_o1 <- car::recode(as.numeric(ola$P36_3), "1=-1; 2=1; 3/4=0")
cor(with(ola, cbind(confsocA_o1,confsocB_o1,confsocC_o1)), use="complete.obs")

#Percepcion Corrupcion en la política
ola$perpcorrup_o1 = as.numeric(ola$P14_1.x)
ola$perpcorrup_o1[ola$perpcorrup_o1==6] = NA
ola$perpcorrup_o2 = as.numeric(ola$P14_1.y)
ola$perpcorrup_o2[ola$perpcorrup_o2==6] = NA
ola$delta_perpcorrup = ola$perpcorrup_o2 - ola$perpcorrup_o1
table(ola$perpcorrup_o1,ola$perpcorrup_o2, exclude = NULL)
polychor(ola$perpcorrup_o1,ola$perpcorrup_o2)

#Percepcion Corrupcion en la política - 3 pts
ola$perpcorrup_o1R <- ola$perpcorrup_o1
ola$perpcorrup_o1R[ola$perpcorrup_o1<=2] <- 2
ola$perpcorrup_o2R <- ola$perpcorrup_o2
ola$perpcorrup_o2R[ola$perpcorrup_o2<=2] <- 2

#Percepción Evolucion Corrupcion
ola$evolcorrup_o1 = as.numeric(ola$P15_2)
ola$evolcorrup_o1[ola$evolcorrup_o1==6] = NA
ola$evolcorrup_o2 = as.numeric(ola$P16_2.y)
ola$evolcorrup_o2[ola$evolcorrup_o2==6] = NA
polychor(ola$evolcorrup_o1, ola$evolcorrup_o2)
polychor(ola$perpcorrup_o1, ola$evolcorrup_o1)
polychor(ola$perpcorrup_o2, ola$evolcorrup_o2)
#En 3 pts
ola$evolcorrup_o1R <- ola$evolcorrup_o1
ola$evolcorrup_o1R[ola$evolcorrup_o1>=4] <- 3
ola$evolcorrup_o2R <- ola$evolcorrup_o2
ola$evolcorrup_o2R[ola$evolcorrup_o2>=4] <- 3
polychor(ola$evolcorrup_o1R, ola$evolcorrup_o2R)
polychor(ola$perpcorrup_o1R, ola$evolcorrup_o1R)
polychor(ola$perpcorrup_o2R, ola$evolcorrup_o2R)

#Percepcion Corrupcion en las empresas
ola$perpcorrupE_o1 = as.numeric(ola$P14_2.x)
ola$perpcorrupE_o1[ola$perpcorrupE_o1==6] = NA
ola$perpcorrupE_o2 = as.numeric(ola$P14_2.y)
ola$perpcorrupE_o2[ola$perpcorrupE_o2==6] = NA
ola$delta_perpcorrupE = ola$perpcorrupE_o2 - ola$perpcorrupE_o1
table(ola$perpcorrup_o1,ola$perpcorrup_o2, exclude = NULL)
polychor(ola$perpcorrupE_o1,ola$perpcorrupE_o2)
polychor(ola$perpcorrupE_o1,ola$perpcorrup_o1)
polychor(ola$perpcorrupE_o2,ola$perpcorrup_o2)
polychor(ola$perpcorrupE_o1,ola$perpcorrup_o1)

#Indice Compuesto
ola$corrup_comp_o1 <- with(ola, apply(cbind(perpcorrup_o1, perpcorrupE_o1), 
                                      1, mean, na.rm=T))
ola$corrup_comp_o2 <- with(ola, apply(cbind(perpcorrup_o2, perpcorrupE_o2), 
                                      1, mean, na.rm=T))
with(ola, cor(cbind(corrup_comp_o1, corrup_comp_o2, perpcorrup_o1, 
                    perpcorrupE_o1, perpcorrup_o2, perpcorrupE_o2), 
              use="pairwise.complete.obs"))
summary(ola$corrup_comp_o1)
summary(ola$corrup_comp_o2)
t.test(ola$corrup_comp_o1, ola$corrup_comp_o2)
barplot(table(ola$corrup_comp_o1))
barplot(table(ola$corrup_comp_o2))
polychor(ola$perpcorrup_o1, ola$perpcorrupE_o1)
polychor(ola$perpcorrup_o2, ola$perpcorrupE_o2)

##Corrupcion como problemas más importante en ola 1 y 2
ola$probcorrup_o1 <- as.numeric(ola$P4.1=="Corrupción") + 
  as.numeric(ola$P4.2=="Corrupción") + 
  as.numeric(ola$P4.3=="Corrupción")
ola$probcorrup_o2 <- as.numeric(ola$P1.1=="Corrupción") + 
  as.numeric(ola$P1.2=="Corrupción") + 
  as.numeric(ola$P1.3=="Corrupción")
prop.table(table(ola$probcorrup_o1,ola$probcorrup_o2),1)
polychor(ola$probcorrup_o1, ola$probcorrup_o2)
polychor(ola$probcorrup_o1, ola$evolcorrup_o1R)
polychor(ola$probcorrup_o1, ola$probcorrup_o2)

#Afección política
#cómo la gente vote no tiene ninguna influencia sobre lo que ocurre en el país
ola$inf_voto_o1 = as.numeric(ola$P12_1.x)
ola$inf_voto_o1[ola$inf_voto_o1==6] <- NA
ola$inf_voto_o2 = as.numeric(ola$P12_1.y)
ola$inf_voto_o2[ola$inf_voto_o2==6] <- NA
polychor(ola$inf_voto_o1, ola$inf_voto_o2)
prop.table(table(ola$inf_voto_o1,ola$inf_voto_o2),1)

#Yo creo que a los políticos sí les importa lo que piensa la gente
ola$pol_gente_o1 = as.numeric(ola$P12_3.x)
ola$pol_gente_o1[ola$pol_gente_o1==6] <- NA
ola$pol_gente_o2 = as.numeric(ola$P12_2.y)
ola$pol_gente_o2[ola$pol_gente_o2==6] <- NA
polychor(ola$pol_gente_o1, ola$pol_gente_o2)
prop.table(table(ola$pol_gente_o1,ola$pol_gente_o2),1)

#Considero que estoy bien calificado para participar en política
ola$eff_intern_o1 = as.numeric(ola$P12_4)
ola$eff_intern_o1[ola$pol_gente_o1==6] <- NA
ola$eff_intern_o2 = as.numeric(ola$P12_3.y)
ola$eff_intern_o2[ola$eff_intern_o2==6] <- NA
polychor(ola$pol_gente_o1, ola$pol_gente_o2)

##DEMOGRAFICAS-
#Jubilado
ola$sit_lab_o1 = as.numeric(ola$P69.x=="Jubilado, retirado, pensionado, montepiado")
ola$sit_lab_o1[ola$P69.x=="Trabaja tiempo completo"] = 2
ola$sit_lab_o1[ola$P69.x=="Trabaja media jornada"] = 2
ola$sit_lab_o1 = factor(ola$sit_lab_o1, labels=c("Jubilado", "Trabaja", "Otro"))
table(ola$sit_lab_o1)
ola$sit_lab_o1 <- relevel(ola$sit_lab_o1, "Otro")
levels(ola$sit_lab_o1)

#Edad
cor(ola$EDAD_PS.x,ola$EDAD_PS.y,use="complete.obs")

#Sexo
table(ola$SEXO_PS.x,ola$SEXO_PS.y, exclude=NULL)

#Educacion
ola$educa_o1 = as.numeric(ola$P71.x)
ola$educa_o1[ola$educa_o1==1] = 2
ola$educa_o1[ola$educa_o1==8] = NA
ola$educa_o1[ola$educa_o1==7] = 6 #Juntar pos grado con universitaria
ola$educa_o2 = as.numeric(ola$P68.y)
ola$educa_o2[ola$educa_o2==1] = 2
ola$educa_o2[ola$educa_o2==8] = NA
ola$educa_o2[ola$educa_o2==7] = 6 #Juntar pos grado con universitaria
table(ola$educa_o1,ola$educa_o2, exclude=NULL)
cor(ola$educa_o1,ola$educa_o2,use="complete.obs")

#Educacion Categórica
ola$educa_o1F <- car::recode(ola$educa_o1, "2=2; 3:4=4; 5=5; 6=6") %>% 
  factor(labels = c("Primary", "Secondary", "Tertiary Technical", 
                    "Tertiary Universitary"))
ola$educa_o2F <- car::recode(ola$educa_o2, "2=2; 3:4=4; 5=5; 6=6") %>% 
  factor(labels = c("Primary", "Secondary", "Tertiary Technical", 
                    "Tertiary Universitary"))
table(ola$educa_o1F, ola$educa_o2F)

#Consumo de Mass Media
#TV
ola$diasTV_o1 = as.numeric(ola$P8_1)
ola$diasTV_o2 = as.numeric(ola$P4_1)
with(ola, polychor(diasTV_o1,diasTV_o2))
#Radio
ola$diasRad_o1 = as.numeric(ola$P8_2)
ola$diasRad_o2 = as.numeric(ola$P4_2)
ola$diasRad_o2[ola$diasRad_o2==9]=NA
with(ola, polychor(diasRad_o1,diasRad_o2))
with(ola, table(diasRad_o1,diasRad_o2))
#diarios impresos u online 
ola$diasDia_o1 = as.numeric(ola$P8_3)
ola$diasDia_o2 = as.numeric(ola$P4_3)
ola$diasDia_o1[ola$diasDia_o1==9]=NA
with(ola, table(diasDia_o1,diasDia_o2))
with(ola, polychor(diasDia_o1,diasDia_o2))
#Redes sociales
ola$diasRed_o1 = as.numeric(ola$P8_4)
ola$diasRed_o2 = as.numeric(ola$P4_4)
ola$diasRed_o1[ola$diasRed_o1==9]=NA
ola$diasRed_o2[ola$diasRed_o2==9]=NA
with(ola, table(diasRed_o1,diasRed_o2))
with(ola, polychor(diasRed_o1,diasRed_o2))

#Frecuencia Conversiones sobre actualidad
ola$diasConv_o1 = as.numeric(ola$P9_1.x)
ola$diasConv_o2 = as.numeric(ola$P5_1)
ola$diasConv_o1[ola$diasConv_o1==9]=NA
ola$diasConv_o2[ola$diasConv_o2==9]=NA
with(ola, table(diasConv_o1))
with(ola, polychor(diasConv_o1,diasConv_o2))

#Atención a Noticias Políticas
ola$AtenPol_o1 = as.numeric(ola$P10_5)
ola$AtenPol_o2 = as.numeric(ola$P6_5)
ola$AtenPol_o1[ola$AtenPol_o1==6]=NA
ola$AtenPol_o2[ola$AtenPol_o2==6]=NA
with(ola, table(AtenPol_o1,AtenPol_o2))
with(ola, polychor(AtenPol_o1,AtenPol_o2))

#Atención a Noticias de Farandula
ola$AtenFar_o1 = as.numeric(ola$P10_4)
ola$AtenFar_o2 = as.numeric(ola$P6_4)
ola$AtenFar_o1[ola$AtenPol_o1==6]=NA
ola$AtenFar_o2[ola$AtenPol_o2==6]=NA
with(ola, table(AtenFar_o1,AtenFar_o2))
with(ola, polychor(AtenFar_o1,AtenFar_o2))

#Aprobación de Gobierno
ola$aprobacion_o1 = as.numeric(ola$P13.x=="Aprueba")
ola$aprobacion_o2 = as.numeric(ola$P13.y=="Aprueba")
ola$aprobacion_o1[is.na(ola$aprobacion_o1)] <- 0
ola$aprobacion_o2[is.na(ola$aprobacion_o2) & !is.na(mujer_o2)] <- 0

#Religion
ola$religid_o1 = ola$P78
ola$religid_o2 = ola$P69.y
table(ola$religid_o1=="Católica",ola$religid_o2=="Católica", exclude=NULL)
polychor(ola$religid_o1=="Católica",ola$religid_o2=="Católica")

table(ola$religid_o1=="Evangélica, pentecostal", 
      ola$religid_o2=="Evangélica, pentecostal", exclude=NULL)
polychor(ola$religid_o1=="Evangélica, pentecostal",
         ola$religid_o2=="Evangélica, pentecostal")

table(ola$religid_o1=="Ninguna, ateo(a), agnóstico(a)",
      ola$religid_o2=="Ninguna, ateo(a), agnóstico(a)", exclude=NULL)
polychor(ola$religid_o1=="Ninguna, ateo(a), agnóstico(a)",
         ola$religid_o2=="Ninguna, ateo(a), agnóstico(a)")

#Asistencia a servicios religiosos
ola$practica_o1 = ola$P79
ola$practica_o1[ola$practica_o1=="Ns/Nr"] = NA
ola$practica_o2 = ola$P70.y
ola$practica_o2[ola$practica_o2=="Ns/Nr"] = NA
ola$delta_practica = as.numeric(ola$practica_o2) - as.numeric(ola$practica_o1)
table(ola$practica_o1,ola$practica_o2, exclude=NULL)
polychor(ola$practica_o1,ola$practica_o2)
cor(as.numeric(ola$practica_o1),as.numeric(ola$practica_o2), use="complete.obs")

#Tamaño de red
ola$tamred_o1 = ola$N_Confidentes
ola$tamred_o1 = as.numeric(ola$tamred_o1) - 1
ola$tamred_o2 = ola$N_CONFIDENTE
ola$tamred_o2[ola$N_CONFIDENTE==8] = NA
prop.table(table(ola$tamred_o1))*100
prop.table(table(ola$tamred_o2))*100
cor(ola$tamred_o1,ola$tamred_o2, use="complete.obs")
polychor(ola$tamred_o1, ola$tamred_o2)

ggplot(data=subset(ola, tamred_o1<3), aes(tamred_o1, tamred_o2)) +
  geom_jitter() + geom_smooth(se=FALSE)

#Frecuency of political talk
ola$freq_talk1_o1 <- as.numeric(ola$P29.1.x)
ola$freq_talk2_o1 <- as.numeric(ola$P29.2.x)
ola$freq_talk2_o1[ola$freq_talk2_o1==6] <- NA
ola$freq_talk3_o1 <- as.numeric(ola$P29.3.x)
ola$freq_talk4_o1 <- as.numeric(ola$P29.4.x)
with(ola, summary(cbind(freq_talk1_o1, freq_talk2_o1, freq_talk3_o1, freq_talk4_o1)))
ola$freq_talk_o1 <- with(ola, apply(cbind(freq_talk1_o1, freq_talk2_o1, freq_talk3_o1,
                                          freq_talk4_o1), 1, mean, na.rm=T))
#ola$freq_talk_o1[ola$tamred_o1==0] <- 0
hist(ola$freq_talk_o1)

ola$freq_talk1_o2 <- as.numeric(ola$P31.1.y)
ola$freq_talk2_o2 <- as.numeric(ola$P31.2.y)
ola$freq_talk3_o2 <- as.numeric(ola$P31.3.y)
ola$freq_talk4_o2 <- as.numeric(ola$P31.4.y)
with(ola, summary(cbind(freq_talk1_o2, freq_talk2_o2, freq_talk3_o2, freq_talk4_o2)))
ola$freq_talk_o2 <- with(ola, apply(cbind(freq_talk1_o2, freq_talk2_o2, freq_talk3_o2,
                                          freq_talk4_o2), 1, mean, na.rm=T))
#ola$freq_talk_o2[ola$tamred_o2==0] <- 0
hist(ola$freq_talk_o2)

#Repeated Alters??
with(ola, table(as.character(P26.1.y)==as.character(P26.2.y),
                is.na(P26.1.y)), exclude=NULL)
with(ola, table(as.character(P26.1.y)==as.character(P26.3.y),
                is.na(P26.1.y)), exclude=NULL)
with(ola, table(as.character(P26.1.y)==as.character(P26.4.y)))
with(ola, table(as.character(P26.2.y)==as.character(P26.3.y)))
with(ola, table(as.character(P26.2.y)==as.character(P26.4.y)))


tmp = subset(ola, as.character(P26.1.y)==as.character(P26.2.y) & !is.na(P26.1.y), 
             select=c(P26.1.y,P26.2.y, P26.3.y, P26.4.y))
dim(tmp)

#Voto probable en 2017
ola$voto_2017_o2 <- as.numeric(ola$P52)
ola$voto_2017_o2[ola$P52=="Ns/Nr"] <- NA
table(ola$voto_2017_o2)

#Voto en Presidencial 2013 - Ola 1
ola$voto_2013_o1 <- as.numeric(ola$P52_3=="Sí voté")
ola$voto_2013_o1[ola$P52_3=="No tenía edad para votar"] <- NA
ola$voto_2013_o1[ola$P52_3=="No sabe"] <- NA
ola$voto_2013_o1[ola$P52_3=="No responde"] <- NA
table(ola$P52_3, ola$voto_2013_o1, exclude=NULL)

#Intencion de Voto en Presidencial 2017 - Ola 2
ola$int_voto2017 <- as.numeric(ola$P53.y!="Ninguno")
ola$int_voto2017[ola$P53.y=="No votaría"] <- 0
ola$int_voto2017[ola$P53.y=="Ns/Nr"] <- 0
table(ola$P53.y, ola$int_voto2017)
prop.table(table(ola$voto_2017_o2, ola$int_voto2017), 2)
polychor(ola$voto_2017_o2, ola$int_voto2017)

#Intencion de Voto en Parlamentaria 2017 - Ola 2
ola$int_votoCon2017 <- as.numeric(ola$P54.y!="Ninguno")
ola$int_votoCon2017[ola$P54.y=="No votaría"] <- 0
ola$int_votoCon2017[ola$P54.y=="Ns/Nr"] <- 0
table(ola$P54.y, ola$int_votoCon2017)
prop.table(table(ola$int_voto2017, ola$int_votoCon2017), 2)
polychor(ola$int_voto2017, ola$int_votoCon2017)

#Interes en ser candidato politico
ola$int_cand_o1 <- 5-as.numeric(ola$P65)
ola$int_cand_o1[ola$int_cand_o1==0] <- NA
ola$int_cand_o2 <- 5-as.numeric(ola$P63.y)
ola$int_cand_o2[ola$int_cand_o2==0] <- NA
polychor(ola$int_cand_o2, ola$int_cand_o1)

#Conocimiento Político
ola$pk1_o1 = as.numeric(ola$P58.x=="Unión Demócrata Independiente (UDI)")
ola$pk2_o1 = as.numeric(ola$P59.x=="Ecuador")
ola$pk3_o1 = as.numeric(ola$P60.x=="Revolución Democrática (RD)")
ola$pk4_o1 = as.numeric(ola$P61.x=="Patricio Aylwin")
ola$pk5_o1 = as.numeric(ola$P62.x=="Hacienda")
ola$pk6_o1 = as.numeric(ola$P63.x=="120 diputados")
ola$pk7_o1 = as.numeric(ola$P64.x=="Financiamiento irregular de campañas")

ola$pk1_o2 = as.numeric(ola$P56.y=="Unión Demócrata Independiente (UDI)")
ola$pk2_o2 = as.numeric(ola$P57=="Ecuador")
ola$pk3_o2 = as.numeric(ola$P58.y=="Revolución Democrática (RD) o Frente Amplio")
ola$pk4_o2 = as.numeric(ola$P59.y=="Patricio Aylwin")
ola$pk5_o2 = as.numeric(ola$P60.y=="Hacienda")
ola$pk6_o2 = as.numeric(ola$P61.y=="120 diputados")
ola$pk7_o2 = as.numeric(ola$P62.y=="Tráfico de influencia en la Ley de Pesca")

##NOTA: Problem acon P62.y: EN el cuestionario (word) la pregunta aparece asi:
#Por último, ¿diría usted que la polémica sobre la Ley de Pesca se trata de un caso de …?
# A. Colusión de precios
# B. Tráfico de influencias  en el congreso
# C. Sobresueldos a ministros
#### No obstante, en la base de datos las categorias son 
# A. Colusión de precios
# B. Financiamiento irregular de campañas
# C. Tráfico de influencia en la Ley de Pesca
# Estas coinciden con las categorias de respuesta de la ola 1, que indaga sobre el caso penta.
# En consecuencia, es posible que en el cuestionario de la palm preguntaron la categoria
# 'Tráfico de influencia en la Ley de Pesca' en lugar de la categoría apropiada 
# ('Tráfico de influencias  en el congreso')). Esto explicaría
# por que el 70% respondio esta categoría. 

#Participacion política en los últimos 12 meses?
#51.1. Firmado una petición 
#51.2. Marcha o manifestación pública
#51.3. Comunicado con un representante o dirigente político
#51.4. Trabajado como voluntario para un partido o movimiento 
#51.5. Trabajado como voluntario para una organización social o proyecto comunitario

ola$peticion_o1 <- as.numeric(ola$P51_1.x=="Si")
ola$marcha_o1 <- as.numeric(ola$P51_2.x=="Si")
ola$com_pol_o1 <- as.numeric(ola$P51_3.x=="Si")
ola$tra_partido_o1 <- as.numeric(ola$P51_4=="Si")
ola$tra_orgsoc_o1 <- as.numeric(ola$P51_5=="Si")
ola$peticion_o2 <- as.numeric(ola$P50_1=="Si")
ola$marcha_o2 <- as.numeric(ola$P50_2=="Si")
ola$com_pol_o2 <- as.numeric(ola$P50_3=="Si")
ola$tra_partido_o2 <- as.numeric(ola$P50_4=="Si")
ola$tra_orgsoc_o2 <- as.numeric(ola$P50_5=="Si")

#Summary statistics
for(i in 1:7) print(summary(cbind(eval(parse(text=paste("ola$pk",i,"_o1", sep=""))))))
for(i in 1:7) print(summary(cbind(eval(parse(text=paste("ola$pk",i,"_o2", sep=""))))))
#Correlation between items
for(i in 1:7) {
  print(table(eval(parse(text=paste("ola$pk",i,"_o1", sep=""))),
            eval(parse(text=paste("ola$pk",i,"_o2", sep=""))), exclude=NULL))
}

##-------- SAVE DATA ---------#
save(ola, file="merged_ola_1y2.Rdata")

